package com.yunshan.order.service;

import com.yunshan.order.domain.OrderConsumeRecord;
import com.yunshan.order.domain.OrderUniVo;

import java.util.List;

/**
 * 消费订单Service接口
 *
 * @author yunshan
 * @date 2025-01-20
 */
public interface IOrderConsumeRecordService
{
    /**
     * 查询消费订单
     *
     * @param id 消费订单主键
     * @return 消费订单
     */
    public OrderConsumeRecord selectOrderConsumeRecordById(Long id);

    /**
     * 查询消费订单列表
     *
     * @param orderConsumeRecord 消费订单
     * @return 消费订单集合
     */
    public List<OrderConsumeRecord> selectOrderConsumeRecordList(OrderConsumeRecord orderConsumeRecord);

    /**
     * 新增消费订单
     *
     * @param orderConsumeRecord 消费订单
     * @return 结果
     */
    public int insertOrderConsumeRecord(OrderConsumeRecord orderConsumeRecord);

    /**
     * 修改消费订单
     *
     * @param orderConsumeRecord 消费订单
     * @return 结果
     */
    public int updateOrderConsumeRecord(OrderConsumeRecord orderConsumeRecord);

    /**
     * 批量删除消费订单
     *
     * @param ids 需要删除的消费订单主键集合
     * @return 结果
     */
    public int deleteOrderConsumeRecordByIds(Long[] ids);

    /**
     * 删除消费订单信息
     *
     * @param id 消费订单主键
     * @return 结果
     */
    public int deleteOrderConsumeRecordById(Long id);

    /**
     * 查询项目消费人数
     * @param serveId 项目id
     * @return count
     */
    Integer selectServeCount(Long serveId);

    /**
     * 小程序端消费订单查询
     * @return 结果
     */
    List<OrderUniVo> selectOrderUniList(Long memberId,Integer cardType);

    /**
     * 小程序端副卡记录消费订单查询
     * @return 结果
     */
    List<OrderUniVo> selectOrderUniSubList(Long memberId, Integer cardType);
}
